[INFO] cloning repository https://github.com/jasnross/agentspec
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jasnross/agentspec" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjasnross%2Fagentspec", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjasnross%2Fagentspec'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0c6174638388774bfc4b44e3b8a9b2762530f379
[INFO] testing jasnross/agentspec against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjasnross%2Fagentspec" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jasnross/agentspec
[INFO] finished tweaking git repo https://github.com/jasnross/agentspec
[INFO] tweaked toml for git repo https://github.com/jasnross/agentspec written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jasnross/agentspec on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jasnross/agentspec already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded memo-map v0.3.3
[INFO] [stderr]   Downloaded jsonschema v0.28.3
[INFO] [stderr]   Downloaded gray_matter v0.3.2
[INFO] [stderr]   Downloaded globset v0.4.18
[INFO] [stderr]   Downloaded referencing v0.28.3
[INFO] [stderr]   Downloaded serde_yml v0.0.12
[INFO] [stderr]   Downloaded jsonc-parser v0.32.3
[INFO] [stderr]   Downloaded clap_complete v4.6.0
[INFO] [stderr]   Downloaded libyml v0.0.5
[INFO] [stderr]   Downloaded minijinja v2.18.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 978a201b755bbdb8f6c2bf5f3b76477ee7e2871ff8de02202c8e789d8a9c2a7c
[INFO] running `Command { std: "docker" "start" "-a" "978a201b755bbdb8f6c2bf5f3b76477ee7e2871ff8de02202c8e789d8a9c2a7c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "978a201b755bbdb8f6c2bf5f3b76477ee7e2871ff8de02202c8e789d8a9c2a7c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "978a201b755bbdb8f6c2bf5f3b76477ee7e2871ff8de02202c8e789d8a9c2a7c", kill_on_drop: false }`
[INFO] [stdout] 978a201b755bbdb8f6c2bf5f3b76477ee7e2871ff8de02202c8e789d8a9c2a7c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0a9fdbcbe466bd68c0db1a4f9f94a68c693cbb03e6bcc9f660b10486b9f80dcd
[INFO] running `Command { std: "docker" "start" "-a" "0a9fdbcbe466bd68c0db1a4f9f94a68c693cbb03e6bcc9f660b10486b9f80dcd", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling zerocopy v0.8.47
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling borrow-or-share v0.2.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling serde_yml v0.0.12
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling fluent-uri v0.3.2
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling outref v0.5.2
[INFO] [stderr]    Compiling arraydeque v0.5.1
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling vsimd v0.8.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling referencing v0.28.3
[INFO] [stderr]    Compiling yaml-rust2 v0.10.4
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling uuid-simd v0.8.0
[INFO] [stderr]    Compiling fraction v0.15.3
[INFO] [stderr]    Compiling email_address v0.2.9
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling libyml v0.0.5
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling fancy-regex v0.14.0
[INFO] [stderr]    Compiling serde_with_macros v3.18.0
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling memo-map v0.3.3
[INFO] [stderr]    Compiling minijinja v2.18.0
[INFO] [stderr]    Compiling serde_with v3.18.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling jsonschema v0.28.3
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling gray_matter v0.3.2
[INFO] [stderr]    Compiling clap_complete v4.6.0
[INFO] [stderr]    Compiling jsonc-parser v0.32.3
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling agentspec v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 38s
[INFO] running `Command { std: "docker" "inspect" "0a9fdbcbe466bd68c0db1a4f9f94a68c693cbb03e6bcc9f660b10486b9f80dcd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0a9fdbcbe466bd68c0db1a4f9f94a68c693cbb03e6bcc9f660b10486b9f80dcd", kill_on_drop: false }`
[INFO] [stdout] 0a9fdbcbe466bd68c0db1a4f9f94a68c693cbb03e6bcc9f660b10486b9f80dcd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dae2b7b10ca15a46eada10192bd03a6c8034e73ca2b383d127ac0851ce9d37bc
[INFO] running `Command { std: "docker" "start" "-a" "dae2b7b10ca15a46eada10192bd03a6c8034e73ca2b383d127ac0851ce9d37bc", kill_on_drop: false }`
[INFO] [stderr]    Compiling agentspec v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 16.52s
[INFO] running `Command { std: "docker" "inspect" "dae2b7b10ca15a46eada10192bd03a6c8034e73ca2b383d127ac0851ce9d37bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dae2b7b10ca15a46eada10192bd03a6c8034e73ca2b383d127ac0851ce9d37bc", kill_on_drop: false }`
[INFO] [stdout] dae2b7b10ca15a46eada10192bd03a6c8034e73ca2b383d127ac0851ce9d37bc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c697ec16e270a7d5400e7504e4a13354c897ffb3835622f707214f08548f6907
[INFO] running `Command { std: "docker" "start" "-a" "c697ec16e270a7d5400e7504e4a13354c897ffb3835622f707214f08548f6907", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.42s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/agentspec-c6a5dcb4de9a5183)
[INFO] [stdout] 
[INFO] [stdout] running 346 tests
[INFO] [stdout] test adapters::claude::tests::test_adapt_rule_with_paths_and_prefix ... ok
[INFO] [stdout] test adapters::claude::tests::test_adapt_rule_with_prefix ... ok
[INFO] [stdout] test adapters::claude::tests::test_adapt_agent_output_format ... ok
[INFO] [stdout] test adapters::claude::tests::test_adapt_agent_tools_are_sorted ... ok
[INFO] [stdout] test adapters::claude::tests::test_adapt_rule_without_paths ... ok
[INFO] [stdout] test adapters::claude::tests::test_adapt_tool_skill_maps_to_skill ... ok
[INFO] [stdout] test adapters::claude::tests::test_adapt_tool_subagent_maps_to_agent_and_send_message ... ok
[INFO] [stdout] test adapters::claude::tests::test_body_tool_name_question_maps_to_ask_user_question ... ok
[INFO] [stdout] test adapters::claude::tests::test_adapt_tool_tasks_maps_to_task_tracking_tools ... ok
[INFO] [stdout] test adapters::claude::tests::test_adapt_agent_content_prefix_does_not_affect_frontmatter ... ok
[INFO] [stdout] test adapters::claude::tests::test_adapt_rule_with_paths ... ok
[INFO] [stdout] test adapters::claude::tests::test_body_tool_name_subagent_maps_to_agent ... ok
[INFO] [stdout] test adapters::claude::tests::test_body_tool_name_tasks_maps_to_task_create ... ok
[INFO] [stdout] test adapters::claude::tests::test_claude_event_name_full_mapping ... ok
[INFO] [stdout] test adapters::claude::tests::test_build_plugin_manifest_file_emits_all_fields ... ok
[INFO] [stdout] test adapters::claude::tests::test_compile_does_not_emit_plugin_manifest_in_compile_mode ... ok
[INFO] [stdout] test adapters::claude::tests::test_body_tool_name_skill_maps_to_skill ... ok
[INFO] [stdout] test adapters::claude::tests::test_build_plugin_manifest_file_omits_author_email_when_none ... ok
[INFO] [stdout] test adapters::claude::tests::test_compile_emits_plugin_manifest_in_plugin_mode_with_config ... ok
[INFO] [stdout] test adapters::claude::tests::test_build_plugin_manifest_file_name_only_omits_optional_fields ... ok
[INFO] [stdout] test adapters::claude::tests::test_adapt_agent_with_prefix ... ok
[INFO] [stdout] test adapters::claude::tests::test_entry_to_claude_json_includes_sentinel ... ok
[INFO] [stdout] test adapters::claude::tests::test_matcher_subagent_type_explore ... ok
[INFO] [stdout] test adapters::claude::tests::test_matcher_subagent_type_general ... ok
[INFO] [stdout] test adapters::claude::tests::test_matcher_subagent_type_plan ... ok
[INFO] [stdout] test adapters::claude::tests::test_model_facing_name_falls_back_to_prefix ... ok
[INFO] [stdout] test adapters::claude::tests::test_synthesize_hooks_empty_returns_default ... ok
[INFO] [stdout] test adapters::claude::tests::test_synthesize_hooks_merged_user_anchor_includes_plugin_root_assignment ... ok
[INFO] [stdout] test adapters::claude::tests::test_synthesize_hooks_does_not_serialize_description ... ok
[INFO] [stdout] test adapters::claude::tests::test_model_facing_name_uses_content_prefix ... ok
[INFO] [stdout] test adapters::claude::tests::test_synthesize_hooks_merged_user_mode_emits_scripts_only ... ok
[INFO] [stdout] test adapters::claude::tests::test_synthesize_hooks_normalizes_leading_dot_slash_in_script_path ... ok
[INFO] [stdout] test adapters::claude::tests::test_synthesize_hooks_path_mode_emits_bundled_file ... ok
[INFO] [stdout] test adapters::claude::tests::test_synthesize_hooks_groups_by_event_and_matcher ... ok
[INFO] [stdout] test adapters::claude::tests::test_synthesize_hooks_preserves_nested_script_path_in_command ... ok
[INFO] [stdout] test adapters::claude::tests::test_synthesize_hooks_merged_project_anchor_includes_plugin_root_assignment ... ok
[INFO] [stdout] test adapters::claude::tests::test_user_dest_dir_agents ... ok
[INFO] [stdout] test adapters::cursor::tests::test_adapt_agent_output_format ... ok
[INFO] [stdout] test adapters::cursor::tests::test_adapt_agent_with_prefix ... ok
[INFO] [stdout] test adapters::cursor::tests::test_adapt_rule_with_paths ... ok
[INFO] [stdout] test adapters::cursor::tests::test_adapt_rule_with_prefix ... ok
[INFO] [stdout] test adapters::cursor::tests::test_adapt_rule_without_paths ... ok
[INFO] [stdout] test adapters::cursor::tests::test_adapt_skill_with_prefix ... ok
[INFO] [stdout] test adapters::cursor::tests::test_body_tool_name_full_mapping ... ok
[INFO] [stdout] test adapters::cursor::tests::test_compile_skips_cursor_manifest_in_plugin_mode_without_config ... ok
[INFO] [stdout] test adapters::cursor::tests::test_cursor_event_name_user_prompt_submit_special_case ... ok
[INFO] [stdout] test adapters::cursor::tests::test_entry_to_cursor_json_places_matcher_on_entry ... ok
[INFO] [stdout] test adapters::cursor::tests::test_build_plugin_manifest_file_emits_all_fields ... ok
[INFO] [stdout] test adapters::cursor::tests::test_compile_emits_cursor_manifest_in_plugin_mode_with_config ... ok
[INFO] [stdout] test adapters::cursor::tests::test_matcher_subagent_type_explore ... ok
[INFO] [stdout] test adapters::cursor::tests::test_cursor_event_name_full_mapping ... ok
[INFO] [stdout] test adapters::cursor::tests::test_matcher_subagent_type_general ... ok
[INFO] [stdout] test adapters::cursor::tests::test_project_dest_dir_is_dot_cursor_under_cwd ... ok
[INFO] [stdout] test adapters::cursor::tests::test_matcher_subagent_type_plan_passes_through ... ok
[INFO] [stdout] test adapters::cursor::tests::test_matcher_tool_name_full_mapping ... ok
[INFO] [stdout] test adapters::cursor::tests::test_user_dest_dir_is_dot_cursor_under_home ... ok
[INFO] [stdout] test adapters::cursor::tests::test_synthesize_hooks_emits_version_field ... ok
[INFO] [stdout] test adapters::hook_compile::tests::build_emitted_hook_entries_expands_multi_event_spec ... ok
[INFO] [stdout] test adapters::cursor::tests::test_synthesize_hooks_does_not_serialize_description ... ok
[INFO] [stdout] test adapters::cursor::tests::test_synthesize_hooks_merged_user_emits_scripts_no_hooks_json ... ok
[INFO] [stdout] test adapters::cursor::tests::test_synthesize_hooks_per_entry_matcher_placement ... ok
[INFO] [stdout] test adapters::hook_compile::tests::build_shim_files_empty_specs_returns_empty_vec ... ok
[INFO] [stdout] test adapters::hook_compile::tests::build_shim_files_opencode_returns_empty_vec ... ok
[INFO] [stdout] test adapters::hook_compile::tests::build_shim_files_emits_one_per_distinct_event ... ok
[INFO] [stdout] test adapters::hook_compile::tests::translate_matcher_subagent_event ... ok
[INFO] [stdout] test adapters::hook_compile::tests::translate_matcher_passes_through_non_canonical ... ok
[INFO] [stdout] test adapters::hook_compile::tests::translate_matcher_subagent_pass_through ... ok
[INFO] [stdout] test adapters::hook_compile::tests::hook_command_anchor_bundled_invokes_shim_with_user_script_and_hook_id ... ok
[INFO] [stdout] test adapters::hook_compile::tests::translate_matcher_unavailable_tool_passes_through ... ok
[INFO] [stdout] test adapters::hook_compile::tests::translate_matcher_mixed_canonical_and_non_canonical ... ok
[INFO] [stdout] test adapters::hooks_helpers::tests::test_is_owned_entry_false_for_non_object ... ok
[INFO] [stdout] test adapters::hooks_helpers::tests::test_is_owned_entry_false_for_object_without_sentinel ... ok
[INFO] [stdout] test adapters::hooks_helpers::tests::test_is_owned_entry_true_for_object_with_sentinel ... ok
[INFO] [stdout] test adapters::hooks_helpers::tests::test_open_or_create_array_no_force_errors_with_force_hint ... ok
[INFO] [stdout] test adapters::hooks_helpers::tests::test_node_as_object_none_for_arrays_and_scalars ... ok
[INFO] [stdout] test adapters::hooks_helpers::tests::test_open_or_create_array_force_replaces_non_array ... ok
[INFO] [stdout] test adapters::hooks_helpers::tests::test_open_or_create_object_force_replaces_non_object ... ok
[INFO] [stdout] test adapters::hooks_helpers::tests::test_prune_empty_event_arrays_drops_empty_keeps_nonempty ... ok
[INFO] [stdout] test adapters::hooks_helpers::tests::test_value_to_cst_input_round_trips_each_variant ... ok
[INFO] [stdout] test adapters::hooks_helpers::tests::test_open_or_create_object_no_force_errors_with_force_hint ... ok
[INFO] [stdout] test adapters::hooks_helpers::tests::test_node_as_object_some_for_object ... ok
[INFO] [stdout] test adapters::opencode::tests::test_adapt_skill_command_with_prefix_uses_subdirectory ... ok
[INFO] [stdout] test adapters::opencode::tests::test_adapt_agent_output_format ... ok
[INFO] [stdout] test adapters::opencode::tests::test_body_tool_name_subagent_maps_to_task ... ok
[INFO] [stdout] test adapters::opencode::tests::test_build_tool_map_keys_are_sorted ... ok
[INFO] [stdout] test adapters::opencode::tests::test_adapt_rule_with_paths_ignored ... ok
[INFO] [stdout] test adapters::opencode::tests::test_body_tool_name_skill_identity ... ok
[INFO] [stdout] test adapters::opencode::tests::test_patch_dry_run_no_file_written ... ok
[INFO] [stdout] test adapters::opencode::tests::test_compile_eager_instruction_paths ... ok
[INFO] [stdout] test adapters::hook_compile::tests::build_shim_files_deduplicates_per_event_per_provider ... ok
[INFO] [stdout] test adapters::hook_compile::tests::translate_matcher_splits_and_translates ... ok
[INFO] [stdout] test adapters::opencode::tests::test_compile_with_no_rules_still_emits_cleanup_patch ... ok
[INFO] [stdout] test adapters::opencode::tests::test_patch_handles_empty_file ... ok
[INFO] [stdout] test adapters::opencode::tests::test_patch_empty_rules_dir_removes_agentspec_entries ... ok
[INFO] [stdout] test adapters::opencode::tests::test_patch_preserves_comments_and_trivia ... ok
[INFO] [stdout] test adapters::opencode::tests::test_body_tool_name_tasks_maps_to_todowrite ... ok
[INFO] [stdout] test adapters::opencode::tests::test_patch_preserves_user_top_level_key_ordering ... ok
[INFO] [stdout] test adapters::opencode::tests::test_remove_opencode_deletes_file_when_only_agentspec_instructions_were_present ... ok
[INFO] [stdout] test adapters::opencode::tests::test_patch_warns_on_non_object_root ... ok
[INFO] [stdout] test adapters::opencode::tests::test_remove_opencode_drops_only_agentspec_entries ... ok
[INFO] [stdout] test adapters::opencode::tests::test_patch_preserves_user_entries ... ok
[INFO] [stdout] test adapters::opencode::tests::test_remove_opencode_dry_run_does_not_delete_or_rmdir ... ok
[INFO] [stdout] test adapters::opencode::tests::test_patch_replaces_stale_agentspec_entries ... ok
[INFO] [stdout] test adapters::opencode::tests::test_remove_opencode_preserves_other_top_level_keys ... ok
[INFO] [stdout] test adapters::opencode::tests::test_remove_warns_on_non_object_root ... ok
[INFO] [stdout] test adapters::opencode::tests::test_user_dest_dir_is_xdg_style ... ok
[INFO] [stdout] test adapters::opencode::tests::test_project_dest_dir_is_flat ... ok
[INFO] [stdout] test compile::tests::test_content_prefix_returns_explicit_value ... ok
[INFO] [stdout] test compile::tests::test_content_prefix_falls_back_to_prefix_with_hyphen ... ok
[INFO] [stdout] test compile::tests::test_content_prefix_returns_none_when_both_none ... ok
[INFO] [stdout] test adapters::opencode::tests::test_remove_preserves_comments_and_trivia ... ok
[INFO] [stdout] test compile::tests::test_file_prefix_unaffected_by_content_prefix ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::claude_shim_provider_literal ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::cursor_shim_provider_literal ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::deterministic_codegen ... ok
[INFO] [stdout] test adapters::opencode::tests::test_patch_no_prior_config_creates_file ... ok
[INFO] [stdout] test adapters::opencode::tests::test_remove_opencode_missing_file_is_no_op ... ok
[INFO] [stdout] test adapters::opencode::tests::test_remove_opencode_keeps_file_when_user_top_level_keys_remain ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_claude_shim_receives_cursor_input_detects_host ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_claude_pre_tool_use_user_script_sees_canonical_stdin ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_claude_pre_tool_use_deny_translates_to_hook_specific_output ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_empty_output_skips_validation ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_exit_code_propagates ... ok
[INFO] [stdout] test adapters::opencode::tests::test_patch_idempotent_round_trip ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_log_empty_user_stdout ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_cursor_shim_receives_claude_input_detects_host ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_cursor_pre_tool_use_deny_translates_to_flat_output ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_malformed_provider_stdin_exits_one_with_translation_error ... ok
[INFO] [stdout] test adapters::opencode::tests::test_remove_opencode_no_op_when_no_agentspec_entries_present ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_log_nonzero_exit ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_native_host_unchanged_after_refactor ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_large_stdin_payload ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_no_log_file_created_when_env_unset ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_non_object_output_rejected ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_claude_shim_receives_cursor_input_deny_outputs_flat ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_log_file_captures_all_pipeline_stages ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_schema_version_accepted ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_user_script_emits_invalid_json_exits_one ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_valid_canonical_output_passes_validation ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::output_jq_embeds_hook_event_name_pascal ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::output_includes_log_tag ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::parity_cross_host_input_rust_vs_jq ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::parity_cross_host_output_rust_vs_jq ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::no_unresolved_placeholders_in_any_generated_shim ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::parity_output_rejection_rust_vs_jq ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_typo_in_canonical_field_rejected ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::shim_banner_names_provider_and_event ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::shim_contains_jq_guard_and_passthrough ... ok
[INFO] [stdout] test hooks_canonical::tests::additional_context_round_trip_both_providers ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::shim_contains_logging_primitives ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::parity_input_rust_vs_jq ... ok
[INFO] [stdout] test hooks_canonical::tests::canonical_output_default_schema_version_on_deserialize ... ok
[INFO] [stdout] test hooks_canonical::tests::canonical_output_rejects_unknown_fields ... ok
[INFO] [stdout] test hooks_canonical::tests::claude_all_none_output_emits_envelope_with_hook_event_name ... ok
[INFO] [stdout] test hooks_canonical::tests::claude_both_reasons_prefers_decision_reason ... ok
[INFO] [stdout] test hooks_canonical::tests::claude_pre_tool_use_deny_output ... ok
[INFO] [stdout] test hooks_canonical::tests::canonical_output_skip_serializing_none ... ok
[INFO] [stdout] test hooks_canonical::tests::claude_pre_tool_use_round_trip ... ok
[INFO] [stdout] test hooks_canonical::tests::claude_subagent_preserves_agent_id ... ok
[INFO] [stdout] test hooks_canonical::tests::claude_user_facing_message_fallback_when_no_decision_reason ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::parity_output_rust_vs_jq ... ok
[INFO] [stdout] test hooks_canonical::tests::cursor_all_none_output_emits_empty_object ... ok
[INFO] [stdout] test hooks_canonical::tests::cursor_pre_tool_use_deny_output ... ok
[INFO] [stdout] test hooks_canonical::tests::cursor_pre_tool_use_subagent_reconstruction ... ok
[INFO] [stdout] test hooks_canonical::tests::cursor_pre_tool_use_top_level ... ok
[INFO] [stdout] test hooks_canonical::tests::cursor_user_facing_message_populates_user_message ... ok
[INFO] [stdout] test hooks_canonical::tests::cursor_provider_raw_round_trips_byte_equivalent ... ok
[INFO] [stdout] test hooks_canonical::tests::every_event_has_envelope_only_round_trip ... ok
[INFO] [stdout] test hooks_canonical::tests::input_wire_form_has_single_event_field ... ok
[INFO] [stdout] test hooks_canonical::tests::provider_fixture_returns_parseable_json_for_all_pairs ... ok
[INFO] [stdout] test hooks_canonical::tests::permission_decision_allow_renders_lowercase ... ok
[INFO] [stdout] test hooks_canonical::tests::permission_decision_ask_renders_lowercase ... ok
[INFO] [stdout] test hooks_canonical::tests::schema_version_always_populated_on_canonical_input ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_missing_jq_exits_one ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_cursor_shim_receives_claude_input_deny_outputs_nested ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_missing_user_script_exits_one ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_claude_preserves_user_top_level_keys_and_comments ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_claude_replaces_owned_entry_leaves_user_entry ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_claude_creates_settings_when_absent ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_claude_leaves_empty_event_array_after_removing_all_owned_entries ... ok
[INFO] [stdout] test hooks_canonical::tests::updated_input_round_trip_both_providers ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_cursor_skips_when_file_exists_no_hooks_key_and_no_entries ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_cursor_sets_version_when_absent ... ok
[INFO] [stdout] test hooks_canonical::shim_template::tests::e2e_provider_shaped_output_rejected ... ok
[INFO] [stdout] test hooks_canonical::tests::provider_raw_round_trips_byte_equivalent ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_cursor_force_replaces_non_object_hooks_value ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_cursor_places_matcher_per_entry ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_inner_non_array_errors_without_force ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_refuses_to_overwrite_non_object_hooks_value ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_dry_run_does_not_write ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_fresh_file_honors_umask ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_force_replaces_non_object_hooks_value ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_claude_orphan_removed_when_owned_list_shrinks ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_skips_when_no_file_and_no_entries ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_skips_when_file_exists_no_hooks_key_and_no_entries ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_handles_empty_file ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_force_replaces_non_array_per_event_value ... ok
[INFO] [stdout] test hooks_merge::tests::test_merge_idempotent_round_trip ... ok
[INFO] [stdout] test hooks_merge::tests::test_tidy_cursor_keeps_hooks_when_no_owned_content_was_removed ... ok
[INFO] [stdout] test hooks_merge::tests::test_tidy_cursor_deletes_hooks_when_only_agentspec_content_was_present_with_default_version ... ok
[INFO] [stdout] test plan::tests::test_expand_tilde_absolute_unchanged ... ok
[INFO] [stdout] test plan::tests::test_file_kind_all_includes_hooks ... ok
[INFO] [stdout] test hooks_merge::tests::test_tidy_dry_run_does_not_delete_or_rmdir ... ok
[INFO] [stdout] test plan::tests::test_file_kind_display ... ok
[INFO] [stdout] test plan::tests::test_file_kind_all_includes_plugin_manifest ... ok
[INFO] [stdout] test hooks_merge::tests::test_tidy_claude_deletes_settings_when_only_agentspec_content_was_present ... ok
[INFO] [stdout] test plan::tests::test_plan_types_construct ... ok
[INFO] [stdout] test hooks_merge::tests::test_tidy_cursor_deletes_hooks_when_only_agentspec_content_was_present_with_custom_version ... ok
[INFO] [stdout] test hooks_merge::tests::test_tidy_cursor_keeps_hooks_when_user_keys_remain ... ok
[INFO] [stdout] test provider::tests::test_adapter_returns_dyn_adapter ... ok
[INFO] [stdout] test provider::tests::test_matcher_tool_name_accessible_via_adapter ... ok
[INFO] [stdout] test provider::tests::test_supports_path_scoped_rules_capability ... ok
[INFO] [stdout] test spec::tests::test_spec_clone_round_trip ... ok
[INFO] [stdout] test spec::tests::test_spec_description_agent_required ... ok
[INFO] [stdout] test provider::tests::test_display_name_title_case ... ok
[INFO] [stdout] test provider::tests::test_emits_hooks_capability ... ok
[INFO] [stdout] test spec::tests::test_spec_id_agent ... ok
[INFO] [stdout] test spec::tests::test_spec_description_optional_returns_empty_when_none ... ok
[INFO] [stdout] test plan::tests::test_file_kind_plugin_manifest_display_name ... ok
[INFO] [stdout] test plan::tests::test_file_kind_hooks_display_name ... ok
[INFO] [stdout] test spec::tests::test_spec_spec_type ... ok
[INFO] [stdout] test spec::tests::test_spec_tags_returns_empty_slice_when_none ... ok
[INFO] [stdout] test spec::tests::test_spec_id_hook ... ok
[INFO] [stdout] test spec::tests::test_spec_id_rule ... ok
[INFO] [stdout] test specs::tests::test_hook_frontmatter_rejects_id_field_in_table_body ... ok
[INFO] [stdout] test spec::tests::test_spec_tags_returns_populated_when_some ... ok
[INFO] [stdout] test specs::tests::test_ignore_matcher_compile_error_names_offending_pattern ... ok
[INFO] [stdout] test plan::tests::test_expand_tilde_replaces_home ... ok
[INFO] [stdout] test specs::tests::test_ignore_matcher_double_star_matches_at_any_depth ... ok
[INFO] [stdout] test specs::tests::test_ignore_matcher_empty_matches_nothing ... ok
[INFO] [stdout] test hooks_merge::tests::test_tidy_claude_keeps_settings_when_no_owned_content_was_removed ... ok
[INFO] [stdout] test hooks_merge::tests::test_tidy_claude_keeps_settings_when_user_content_remains ... ok
[INFO] [stdout] test specs::tests::test_ignore_matcher_returns_lowest_matching_index ... ok
[INFO] [stdout] test spec::tests::test_spec_id_skill ... ok
[INFO] [stdout] test specs::tests::test_load_agent_specs_skips_ignored_file ... ok
[INFO] [stdout] test specs::tests::test_load_hook_specs_dangling_symlink_rejected ... ok
[INFO] [stdout] test specs::tests::test_ignore_matcher_slashless_pattern_is_top_level_only ... ok
[INFO] [stdout] test specs::tests::test_load_agent_specs_with_tags ... ok
[INFO] [stdout] test specs::tests::test_load_agent_specs ... ok
[INFO] [stdout] test specs::tests::test_load_hook_specs_missing_toml_with_scripts_errors ... ok
[INFO] [stdout] test specs::tests::test_load_hook_specs_no_dir_returns_empty ... ok
[INFO] [stdout] test specs::tests::test_load_hook_specs_missing_script_rejected ... ok
[INFO] [stdout] test specs::tests::test_ignore_matcher_pattern_accessor ... ok
[INFO] [stdout] test specs::tests::test_load_hook_specs_out_of_tree_symlink_rejected ... ok
[INFO] [stdout] test specs::tests::test_load_hook_specs_parses_single_hook ... ok
[INFO] [stdout] test specs::tests::test_load_hook_specs_duplicate_table_header_is_toml_error ... ok
[INFO] [stdout] test specs::tests::test_load_hook_specs_invalid_id_rejected ... ok
[INFO] [stdout] test specs::tests::test_load_hook_specs_reserved_prefix_rejected ... ok
[INFO] [stdout] test specs::tests::test_load_hook_specs_preserves_authoring_order ... ok
[INFO] [stdout] test specs::tests::test_load_hook_specs_reserved_prefix_directory_rejected ... ok
[INFO] [stdout] test specs::tests::test_load_hook_specs_in_tree_symlink_resolved ... ok
[INFO] [stdout] test specs::tests::test_load_agent_specs_parse_error_includes_file_path ... ok
[INFO] [stdout] test specs::tests::test_load_report_pattern_hits_zero_for_unused_pattern ... ok
[INFO] [stdout] test specs::tests::test_load_hook_specs_script_outside_scripts_rejected ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_dangling_symlink_rejected ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_in_tree_symlink_resolved ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_multiple_md_files ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_preserves_non_executable_mode ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_ignored_extra_md_recorded_exactly_once ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_no_md_file ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_out_of_tree_symlink_rejected ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_truly_missing_md_still_errors ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_symlink_loop_rejected ... ok
[INFO] [stdout] test specs::tests::test_nonexistent_dir_returns_empty ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_skips_ignored_supporting_file ... ok
[INFO] [stdout] test templating::context::tests::test_all_contains_all_types ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_prunes_skills_root ... ok
[INFO] [stdout] test specs::tests::test_should_ignore_path_empty_matcher_short_circuits ... ok
[INFO] [stdout] test templating::context::tests::test_from_specs_for_provider_claude_with_content_prefix ... ok
[INFO] [stdout] test templating::context::tests::test_from_specs_for_provider_claude_with_prefix ... ok
[INFO] [stdout] test templating::context::tests::test_from_specs_for_provider_no_prefix ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_whole_skill_absent_when_md_ignored ... ok
[INFO] [stdout] test templating::context::tests::test_from_specs_groups_and_sorts ... ok
[INFO] [stdout] test templating::context::tests::test_from_specs_for_provider_opencode_skills_unprefixed ... ok
[INFO] [stdout] test templating::context::tests::test_from_specs_for_provider_opencode_with_content_prefix ... ok
[INFO] [stdout] test templating::context::tests::test_no_tags_produces_empty_vec ... ok
[INFO] [stdout] test templating::context::tests::test_from_specs_populates_keyed_maps ... ok
[INFO] [stdout] test templating::context::tests::test_none_description_produces_empty_string ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_prunes_ignored_skill_dir ... ok
[INFO] [stdout] test templating::context::tests::test_tags_exposed_in_spec_entry ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_with_supporting_file ... ok
[INFO] [stdout] test templating::environment::tests::test_nested_includes ... ok
[INFO] [stdout] test templating::environment::tests::test_script_missing_file_errors ... ok
[INFO] [stdout] test templating::environment::tests::test_filter_indent_with_variables ... ok
[INFO] [stdout] test templating::environment::tests::test_include_with_variables ... ok
[INFO] [stdout] test templating::environment::tests::test_missing_fragment_errors ... ok
[INFO] [stdout] test templating::environment::tests::test_script_allows_nested_path ... ok
[INFO] [stdout] test templating::environment::tests::test_script_missing_file_errors_in_validate_mode ... ok
[INFO] [stdout] test templating::environment::tests::test_script_not_registered_for_hook_body ... ok
[INFO] [stdout] test templating::environment::tests::test_script_passes_through_for_cursor_skill ... ok
[INFO] [stdout] test templating::environment::tests::test_script_registered_for_skill_body ... ok
[INFO] [stdout] test templating::environment::tests::test_script_rejects_absolute_path ... ok
[INFO] [stdout] test templating::environment::tests::test_script_rejects_parent_traversal ... ok
[INFO] [stdout] test templating::environment::tests::test_script_not_registered_for_rule_body ... ok
[INFO] [stdout] test templating::environment::tests::test_script_not_registered_for_agent_body ... ok
[INFO] [stdout] test templating::environment::tests::test_script_validate_mode_skill_renders ... ok
[INFO] [stdout] test templating::environment::tests::test_simple_include ... ok
[INFO] [stdout] test templating::environment::tests::test_script_validate_mode_agent_errors ... ok
[INFO] [stdout] test templating::environment::tests::test_tool_remains_registered_for_all_spec_types ... ok
[INFO] [stdout] test templating::environment::tests::test_tool_passes_through_canonical_when_provider_is_none ... ok
[INFO] [stdout] test templating::environment::tests::test_tool_resolves_for_cursor ... ok
[INFO] [stdout] test templating::environment::tests::test_tool_unknown_name_errors ... ok
[INFO] [stdout] test templating::fragments::tests::test_keyed_access_resolves_prefixed_name ... ok
[INFO] [stdout] test templating::environment::tests::test_tool_resolves_for_opencode ... ok
[INFO] [stdout] test templating::environment::tests::test_tool_resolves_for_claude ... ok
[INFO] [stdout] test templating::environment::tests::test_tool_resolves_inside_included_fragment ... ok
[INFO] [stdout] test templating::environment::tests::test_filter_indent_with_include ... ok
[INFO] [stdout] test templating::fragments::tests::test_load_all_fragments_collision_extra_vs_extra ... ok
[INFO] [stdout] test templating::fragments::tests::test_load_all_fragments_collision_local_vs_extra ... ok
[INFO] [stdout] test templating::fragments::tests::test_fragments_can_access_specs_variable ... ok
[INFO] [stdout] test templating::fragments::tests::test_load_all_fragments_merges_extra_dirs ... ok
[INFO] [stdout] test templating::fragments::tests::test_load_all_fragments_nested_subdirs_in_extra ... ok
[INFO] [stdout] test templating::fragments::tests::test_load_all_fragments_missing_extra_dir_errors ... ok
[INFO] [stdout] test templating::fragments::tests::test_load_fragments_nonexistent_dir ... ok
[INFO] [stdout] test templating::fragments::tests::test_resolve_fragments_no_syntax ... ok
[INFO] [stdout] test templating::fragments::tests::test_resolve_fragments_errors_for_non_skill_script ... ok
[INFO] [stdout] test templating::fragments::tests::test_resolve_fragments_with_include ... ok
[INFO] [stdout] test templating::fragments::tests::test_no_variable_usage_unchanged ... ok
[INFO] [stdout] test templating::fragments::tests::test_specs_agents_length ... ok
[INFO] [stdout] test validate::tests::test_hook_empty_body_does_not_error ... ok
[INFO] [stdout] test validate::tests::test_hook_duplicate_ids_within_hooks_error ... ok
[INFO] [stdout] test validate::tests::test_hook_id_collides_with_skill_id ... ok
[INFO] [stdout] test templating::fragments::tests::test_specs_all_type_field ... ok
[INFO] [stdout] test templating::fragments::tests::test_specs_agents_sorted_names ... ok
[INFO] [stdout] test validate::tests::test_hook_matcher_on_all_tool_events_passes ... ok
[INFO] [stdout] test validate::tests::test_hook_matcher_on_mixed_events_errors ... ok
[INFO] [stdout] test validate::tests::test_hook_matcher_on_non_tool_event_errors ... ok
[INFO] [stdout] test validate::tests::test_hook_matcher_on_subagent_start_passes ... ok
[INFO] [stdout] test validate::tests::test_hook_matcher_on_subagent_stop_passes ... ok
[INFO] [stdout] test validate::tests::test_hook_matcher_on_tool_event_passes ... ok
[INFO] [stdout] test validate::tests::test_semantics_duplicate_id ... ok
[INFO] [stdout] test validate::tests::test_semantics_rule_passes_all_checks ... ok
[INFO] [stdout] test validate::tests::test_semantics_known_preset_no_error ... ok
[INFO] [stdout] test validate::tests::test_semantics_empty_body ... ok
[INFO] [stdout] test validate::tests::test_semantics_rule_paths_empty_rejected ... ok
[INFO] [stdout] test validate::tests::test_semantics_underscore_collision_cross_type_no_error ... ok
[INFO] [stdout] test validate::tests::test_semantics_rule_paths_invalid_glob_rejected ... ok
[INFO] [stdout] test validate::tests::test_semantics_underscore_collision_same_type ... ok
[INFO] [stdout] test validate::tests::test_semantics_rule_paths_valid_passes ... ok
[INFO] [stdout] test validate::tests::test_semantics_underscore_no_collision_single_spec ... ok
[INFO] [stdout] test validate::tests::test_semantics_skill_not_invocable ... ok
[INFO] [stdout] test templating::fragments::tests::test_load_all_fragments_no_extras ... ok
[INFO] [stdout] test validate::tests::test_semantics_unknown_preset ... ok
[INFO] [stdout] test validate::tests::test_semantics_clean ... ok
[INFO] [stdout] test templating::fragments::tests::test_load_fragments ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/agentspec-d60d40f47ae04876)
[INFO] [stdout] test specs::tests::test_load_hook_specs_ignore_pattern_prunes_tests_subdir ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 346 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 97 tests
[INFO] [stdout] test config::tests::test_adapter_configs_no_plugin_manifest_when_plugin_name_unset ... ok
[INFO] [stdout] test config::tests::test_adapter_configs_builds_plugin_manifest_from_target ... ok
[INFO] [stdout] test config::tests::test_cli_sync_intent_dest_alone_is_insufficient ... ok
[INFO] [stdout] test config::tests::test_cli_sync_intent_dest_with_mode_plugin_is_sufficient ... ok
[INFO] [stdout] test config::tests::test_cli_sync_intent_dest_with_mode_project_is_sufficient ... ok
[INFO] [stdout] test config::tests::test_cli_sync_intent_mode_plugin_without_dest_is_insufficient ... ok
[INFO] [stdout] test config::tests::test_cli_sync_intent_mode_user_with_target_is_sufficient ... ok
[INFO] [stdout] test config::tests::test_cli_sync_intent_mode_project_with_target_is_sufficient ... ok
[INFO] [stdout] test config::tests::test_cli_sync_intent_requires_explicit_target_selection ... ok
[INFO] [stdout] test config::tests::test_default_config ... ok
[INFO] [stdout] test config::tests::test_discover_rejects_preset_shorthand_string ... ok
[INFO] [stdout] test config::tests::test_discover_invalid_sync_field_errors ... ok
[INFO] [stdout] test config::tests::test_discover_with_presets ... ok
[INFO] [stdout] test config::tests::test_discover_parse_error_includes_field_path ... ok
[INFO] [stdout] test config::tests::test_has_explicit_sync_config_detects_base ... ok
[INFO] [stdout] test config::tests::test_load_reads_specific_file ... ok
[INFO] [stdout] test config::tests::test_discover_with_toml ... ok
[INFO] [stdout] test config::tests::test_discover_without_toml ... ok
[INFO] [stdout] test config::tests::test_load_parse_error_includes_path ... ok
[INFO] [stdout] test config::tests::test_load_missing_file_errors ... ok
[INFO] [stdout] test config::tests::test_parse_plugin_author_name_only ... ok
[INFO] [stdout] test config::tests::test_parse_plugin_author_rejects_unknown_field ... ok
[INFO] [stdout] test config::tests::test_load_sets_root_dir_to_parent ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_cli_empty_prefix_normalized_to_none ... ok
[INFO] [stdout] test config::tests::test_parse_plugin_mode_path_value_rejected ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_applies_base_config ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_cli_dest_sets_dir_not_mode ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_cli_force_sets_overwrite ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_cli_prefix_sets_when_no_base ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_cli_content_prefix_overrides_config ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_default_when_no_sync_configured ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_empty_content_prefix_normalized_to_none ... ok
[INFO] [stdout] test config::tests::test_spec_compile_ignore_matcher_empty_by_default ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_empty_prefix_normalized_to_none ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_toml_mode_project_with_cli_dest ... ok
[INFO] [stdout] test config::tests::test_parse_plugin_mode_with_all_plugin_fields ... ok
[INFO] [stdout] test config::tests::test_spec_extra_fragment_dirs_defaults_empty ... ok
[INFO] [stdout] test config::tests::test_spec_extra_fragment_dirs_parses ... ok
[INFO] [stdout] test config::tests::test_spec_compile_ignore_matcher_propagates_pattern_error ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_cli_overrides_win ... ok
[INFO] [stdout] test config::tests::test_validate_for_provider_accepts_plugin_mode_with_dir_and_plugin_name ... ok
[INFO] [stdout] test config::tests::test_validate_for_provider_accepts_project_mode_with_dir ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_content_prefix_defaults_to_none ... ok
[INFO] [stdout] test config::tests::test_validate_for_provider_accepts_user_mode_without_plugin_name ... ok
[INFO] [stdout] test config::tests::test_spec_ignore_rejects_non_string_element ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_cli_prefix_overrides_base ... ok
[INFO] [stdout] test config::tests::test_validate_for_provider_accepts_plugin_mode_with_plugin_name ... ok
[INFO] [stdout] test config::tests::test_validate_for_provider_rejects_plugin_mode_without_dir ... ok
[INFO] [stdout] test config::tests::test_spec_ignore_defaults_to_empty ... ok
[INFO] [stdout] test config::tests::test_validate_for_provider_rejects_plugin_mode_without_plugin_name ... ok
[INFO] [stdout] test config::tests::test_validate_for_provider_rejects_unset_mode_with_dir ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_content_prefix_from_config ... ok
[INFO] [stdout] test config::tests::test_spec_ignore_round_trips_from_toml ... ok
[INFO] [stdout] test config::tests::test_validate_sync_config_collects_errors_from_multiple_providers ... ok
[INFO] [stdout] test config::tests::test_validate_for_provider_rejects_user_mode_with_dir ... ok
[INFO] [stdout] test emit::tests::test_batch_stats_is_unchanged_only ... ok
[INFO] [stdout] test config::tests::test_validated_sync_target_errors_without_config_or_cli ... ok
[INFO] [stderr] 
[INFO] [stderr] Provider  Kind    Would Create
[INFO] [stderr] ────────  ──────  ────────────
[INFO] [stderr] Claude    skills
[INFO] [stderr] Provider  Kind    Backed Up
[INFO] [stderr] ────────  ──────  ─────────
[INFO] [stderr] Claude    skills          1
[INFO] [stderr] 
[INFO] [stderr] 1 destination changed
[INFO] [stdout] test config::tests::test_validated_sync_target_succeeds_with_cli_only ... ok
[INFO] [stderr] 
[INFO] [stdout] test emit::tests::test_manifest_tracked_collision_errors_without_overwrite ... ok
[INFO] [stderr] Provider  Kind    Created
[INFO] [stdout] test emit::tests::test_manifest_tracked_backs_up_unmanaged_file_with_force ... ok
[INFO] [stderr] ────────  ──────  ───────
[INFO] [stdout] test emit::tests::test_manifest_tracked_creates_file_and_writes_manifest ... ok
[INFO] [stderr] Claude    skills        1
[INFO] [stderr] 
[INFO] [stderr] 1 destination changed
[INFO] [stderr] 
[INFO] [stderr] Provider  Kind    Created
[INFO] [stderr] ────────  ──────  ───────
[INFO] [stderr] Claude    skills        1
[INFO] [stderr] 
[INFO] [stderr] 1 destination changed
[INFO] [stderr] 
[INFO] [stderr] 1 destination unchanged
[INFO] [stderr]              1
[INFO] [stderr] 
[INFO] [stdout] test config::tests::test_validated_sync_target_rejects_plugin_mode_without_plugin_name ... ok
[INFO] [stderr] 1 destination would change
[INFO] [stdout] test emit::tests::test_manifest_tracked_dry_run_no_mutations ... ok
[INFO] [stderr] 
[INFO] [stdout] test emit::tests::test_render_dry_run_headers ... ok
[INFO] [stderr] Provider  Kind    Created
[INFO] [stderr] ────────  ──────  ───────
[INFO] [stderr] Claude    skills        1
[INFO] [stderr] 
[INFO] [stderr] 1 destination changed
[INFO] [stderr] 
[INFO] [stderr] Provider  Kind    Removed
[INFO] [stderr] ────────  ──────  ───────
[INFO] [stderr] Claude    skills        1
[INFO] [stderr] 
[INFO] [stderr] 1 destination changed
[INFO] [stderr] 
[INFO] [stdout] test emit::tests::test_render_mixed_actions ... ok
[INFO] [stderr] Provider  Kind    Created
[INFO] [stdout] test emit::tests::test_render_remove_report_non_verbose_hides_skipped ... ok
[INFO] [stderr] ────────  ──────  ───────
[INFO] [stdout] test emit::tests::test_render_all_unchanged_non_verbose ... ok
[INFO] [stderr] Claude    skills        1
[INFO] [stdout] test emit::tests::test_render_remove_report_verbose_footer_includes_skipped_count ... ok
[INFO] [stderr] 
[INFO] [stdout] test emit::tests::test_render_column_width_adapts ... ok
[INFO] [stderr] 1 destination changed
[INFO] [stdout] test emit::tests::test_manifest_tracked_unchanged_managed_file ... ok
[INFO] [stderr] 
[INFO] [stdout] test emit::tests::test_render_remove_report_stats_only_no_skipped ... ok
[INFO] [stderr] Provider  Kind    Updated
[INFO] [stdout] test emit::tests::test_manifest_tracked_stale_cleanup ... ok
[INFO] [stderr] ────────  ──────  ───────
[INFO] [stdout] test emit::tests::test_render_remove_report_verbose_shows_skipped ... ok
[INFO] [stderr] Claude    skills        1
[INFO] [stdout] test emit::tests::test_render_single_action_type ... ok
[INFO] [stderr] 
[INFO] [stdout] test emit::tests::test_render_separator_width_matches_header ... ok
[INFO] [stderr] 1 destination changed
[INFO] [stdout] test emit::tests::test_render_verbose_shows_unchanged ... ok
[INFO] [stdout] test emit::tests::test_manifest_tracked_updated_managed_file ... ok
[INFO] [stdout] test sync::manifest::tests::test_delete_is_no_op_when_missing ... ok
[INFO] [stdout] test sync::manifest::tests::test_delete_removes_existing_manifest ... ok
[INFO] [stdout] test emit::tests::test_write_preserves_non_executable_mode ... ok
[INFO] [stdout] test emit::tests::test_write_cleans_provider_dir_first ... ok
[INFO] [stdout] test sync::manifest::tests::test_load_refuses_higher_version ... ok
[INFO] [stdout] test emit::tests::test_write_executable_permission ... ok
[INFO] [stdout] test sync::manifest::tests::test_save_and_load_roundtrip ... ok
[INFO] [stdout] test sync::tests::test_files_for_kind_partitions_by_kind_and_provider ... ok
[INFO] [stdout] test sync::manifest::tests::test_load_ignores_unknown_entry_fields ... ok
[INFO] [stdout] test sync::tests::test_resolve_dest_dir_joins_dest_root_with_kind_dir ... ok
[INFO] [stdout] test sync::tests::test_resolve_dest_dir_plugin_manifest_dispatches_through_adapter ... ok
[INFO] [stdout] test sync::tests::test_resolve_dest_dir_works_for_any_dest_root ... ok
[INFO] [stdout] test tests::test_format_ignored_listing_empty_returns_no_lines ... ok
[INFO] [stdout] test sync::tests::test_sync_plan_produces_correct_writes_and_patches ... ok
[INFO] [stdout] test tests::test_format_ignored_listing_drops_pruned_parenthetical_when_zero ... ok
[INFO] [stdout] test tests::test_format_ignored_listing_renders_file_and_pruned_entries ... ok
[INFO] [stdout] test tests::test_format_ignored_listing_plural_pruned ... ok
[INFO] [stderr]      Running tests/pipeline.rs (/opt/rustwide/target/debug/deps/pipeline-59ada1476ec465e3)
[INFO] [stdout] test sync::manifest::tests::test_load_absent_returns_default ... ok
[INFO] [stdout] test emit::tests::test_write_manifest_tracked_returns_stats ... ok
[INFO] [stdout] test emit::tests::test_write_and_verify ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 97 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 118 tests
[INFO] [stdout] test test_compile_does_not_emit_session_start_warning_when_only_cursor_targeted ... ok
[INFO] [stdout] test test_compile_does_not_emit_plugin_manifest_even_when_plugin_fields_set ... ok
[INFO] [stdout] test test_compile_does_not_emit_cursor_warning_when_only_claude_targeted ... ok
[INFO] [stdout] test test_compile_emits_hooks_for_claude_and_cursor ... ok
[INFO] [stdout] test test_compile_emits_no_warnings_for_non_hook_fixture ... ok
[INFO] [stdout] test test_compile_claude_hooks_json_uses_pascal_case_events ... ok
[INFO] [stdout] test test_compile_emits_cursor_partial_output_warning_when_cursor_targeted ... ok
[INFO] [stdout] test test_compile_generates_expected_files ... ok
[INFO] [stdout] test test_compile_ignores_bats_files ... ok
[INFO] [stdout] test test_compile_cursor_hooks_json_uses_camel_case_and_version ... ok
[INFO] [stdout] test test_compile_dedups_shim_per_event_per_provider ... ok
[INFO] [stdout] test test_compile_emits_session_start_asymmetry_warning_for_cross_provider_fixture ... ok
[INFO] [stdout] test test_compile_extra_fragment_dir_collision_errors ... ok
[INFO] [stdout] test test_compile_path_scoped_rule_outputs ... ok
[INFO] [stdout] test test_compile_opencode_verbose_lists_skipped_hooks ... ok
[INFO] [stdout] test test_compile_multi_event_hook_expands_to_separate_entries ... ok
[INFO] [stdout] test test_compile_no_ignore_field_still_works ... ok
[INFO] [stdout] test test_compile_preserves_non_executable_supporting_file_mode ... ok
[INFO] [stdout] test test_compile_opencode_with_hooks_prints_skip_warning ... ok
[INFO] [stdout] test test_compile_resolves_extra_fragment_dir ... ok
[INFO] [stdout] test test_compile_prunes_ignored_subtree ... ok
[INFO] [stdout] test test_compile_rejects_hook_script_path_traversal ... ok
[INFO] [stdout] test test_compile_resolves_symlinked_supporting_file ... ok
[INFO] [stdout] test test_compile_nonexistent_spec_reference_errors ... ok
[INFO] [stdout] test test_compile_prunes_hooks_tests_subdir ... ok
[INFO] [stdout] test test_compile_verbose_lists_ignored ... ok
[INFO] [stdout] test test_compile_resolves_tool_per_provider ... ok
[INFO] [stdout] test test_compile_resolves_symlinked_hook_script ... ok
[INFO] [stdout] test test_config_flag_loads_specified_file ... ok
[INFO] [stdout] test test_compile_script_is_executable ... ok
[INFO] [stdout] test test_compile_silent_without_verbose ... ok
[INFO] [stdout] test test_config_flag_missing_file_errors ... ok
[INFO] [stdout] test test_hook_test_opencode_provider_errors ... ok
[INFO] [stdout] test test_prune_dry_run_does_not_modify_files ... ok
[INFO] [stdout] test test_prune_help_lists_subcommand ... ok
[INFO] [stdout] test test_prune_strips_orphaned_agentspec_entries_from_settings_json ... ok
[INFO] [stdout] test test_prune_with_no_orphaned_entries_reports_nothing ... ok
[INFO] [stdout] test test_prune_with_provider_flag_only_checks_that_provider ... ok
[INFO] [stdout] test test_hook_test_multi_event_no_flag_errors ... ok
[INFO] [stdout] test test_full_round_trip_all_providers ... ok
[INFO] [stdout] test test_remove_deletes_opencode_host_file_when_only_agentspec_entries_present ... ok
[INFO] [stdout] test test_hook_test_payload_file ... FAILED
[INFO] [stdout] test test_hook_test_success_path ... FAILED
[INFO] [stdout] test test_hook_test_single_event_no_flag_uses_it ... FAILED
[INFO] [stdout] test test_hook_test_payload_inline ... FAILED
[INFO] [stdout] test test_remove_does_not_delete_when_no_agentspec_content_was_present ... ok
[INFO] [stdout] test test_remove_after_sync_project_mode_deletes_all_tracked_files ... ok
[INFO] [stdout] test test_remove_dry_run_does_not_delete_host_file ... ok
[INFO] [stdout] test test_hook_test_nonexistent_hook_errors ... ok
[INFO] [stdout] test test_remove_after_sync_user_mode_deletes_all_tracked_files ... ok
[INFO] [stdout] test test_remove_deletes_settings_when_only_agentspec_content_was_present ... ok
[INFO] [stdout] test test_remove_deletes_opencode_when_only_agentspec_content_was_present ... ok
[INFO] [stdout] test test_remove_drops_empty_event_arrays_in_settings_json ... ok
[INFO] [stdout] test test_remove_help_lists_subcommand ... ok
[INFO] [stdout] test test_remove_dry_run_reports_opencode_user_entries_remaining ... ok
[INFO] [stdout] test test_remove_dry_run_suppresses_zero_count_summary ... ok
[INFO] [stdout] test test_remove_dry_run_reports_user_entries_remaining ... ok
[INFO] [stdout] test test_remove_dry_run_predicts_dest_dir_rmdir ... ok
[INFO] [stdout] test test_remove_handles_missing_settings_json ... ok
[INFO] [stdout] test test_remove_dry_run_writes_nothing ... ok
[INFO] [stdout] test test_remove_idempotent ... ok
[INFO] [stdout] test test_remove_empirical_check_jsonc_parser_last_element_comma ... ok
[INFO] [stdout] test test_remove_keeps_settings_when_user_authored_keys_present ... ok
[INFO] [stdout] test test_remove_leaves_unmanaged_files_in_dest_dir ... ok
[INFO] [stdout] test test_remove_preserves_jsonc_comments_in_settings_json ... ok
[INFO] [stdout] test test_remove_opencode_handles_missing_config_file ... ok
[INFO] [stdout] test test_remove_preserves_top_level_hooks_key_when_user_entries_remain ... ok
[INFO] [stdout] test test_remove_keeps_cursor_hooks_when_user_event_arrays_present ... ok
[INFO] [stdout] test test_remove_per_provider_scoping_leaves_other_providers_intact ... ok
[INFO] [stdout] test test_remove_preserves_user_authored_opencode_instructions ... ok
[INFO] [stdout] test test_remove_strips_agentspec_instructions_from_opencode_json ... ok
[INFO] [stdout] test test_remove_with_no_providers_configured_is_clean_exit ... ok
[INFO] [stdout] test test_remove_preserves_user_authored_entries_in_settings_json ... ok
[INFO] [stdout] test test_remove_tolerates_missing_manifest ... ok
[INFO] [stdout] test test_remove_strips_claude_owned_entries_from_settings_json ... ok
[INFO] [stdout] test test_remove_without_prior_sync_is_no_op ... ok
[INFO] [stdout] test test_remove_strips_cursor_owned_entries_from_hooks_json ... ok
[INFO] [stdout] test test_remove_tolerates_pre_deleted_tracked_file ... ok
[INFO] [stdout] test test_sync_claude_plugin_mode_writes_hooks ... ok
[INFO] [stdout] test test_sync_claude_plugin_mode_emits_plugin_manifest ... ok
[INFO] [stdout] test test_sync_claude_user_mode_merges_hooks_into_settings_json ... ok
[INFO] [stdout] test test_sync_claude_plugin_mode_remove_cleans_manifest ... ok
[INFO] [stdout] test test_remove_refuses_higher_manifest_version ... ok
[INFO] [stdout] test test_sync_claude_project_mode_merges_hooks_into_settings_json ... ok
[INFO] [stdout] test test_sync_cli_content_prefix_overrides_config ... ok
[INFO] [stdout] test test_sync_claude_project_mode_with_dest_anchors_hooks_at_project_dir ... ok
[INFO] [stdout] test test_sync_cli_prefix_overrides_config ... ok
[INFO] [stdout] test test_sync_content_prefix_without_file_prefix ... ok
[INFO] [stdout] test test_sync_cli_prefix_without_config_prefix ... ok
[INFO] [stdout] test test_sync_cursor_plugin_mode_emits_plugin_manifest_when_fields_set ... ok
[INFO] [stdout] test test_sync_dry_run_lists_ignored ... ok
[INFO] [stdout] test test_sync_opencode_spec_references_agent_prefixed ... ok
[INFO] [stdout] test test_sync_dest_without_provider_errors ... ok
[INFO] [stdout] test test_sync_prefix ... ok
[INFO] [stdout] test test_sync_no_config_errors_with_guidance ... ok
[INFO] [stdout] test test_sync_opencode_commands_prefix_subdir ... ok
[INFO] [stdout] test test_sync_dest_without_mode_errors ... ok
[INFO] [stdout] test test_sync_orphan_cleanup_removes_stale_shim ... ok
[INFO] [stdout] test test_sync_prefix_resolves_spec_references ... ok
[INFO] [stdout] test test_sync_provider_unconfigured_with_dest_without_mode_errors ... ok
[INFO] [stdout] test test_sync_prefix_and_content_prefix ... ok
[INFO] [stdout] test test_sync_project_mode_with_dest_writes_to_target ... ok
[INFO] [stdout] test test_sync_provider_unconfigured_with_mode_project_allowed ... ok
[INFO] [stdout] test test_sync_no_config_mode_user_without_provider_errors ... ok
[INFO] [stdout] test test_sync_invalid_base_sync_config_surfaces_parse_error ... ok
[INFO] [stdout] test test_sync_provider_unconfigured_with_mode_user_allowed ... ok
[INFO] [stdout] test test_validate_fixture ... ok
[INFO] [stdout] test test_sync_plugin_mode_rejects_missing_plugin_name ... ok
[INFO] [stdout] test test_validate_lists_ignored_paths ... ok
[INFO] [stdout] test test_sync_user_mode_with_dest_errors ... ok
[INFO] [stdout] test test_sync_provider_unconfigured_errors_without_dest ... ok
[INFO] [stdout] test test_sync_without_target_only_syncs_configured_providers ... ok
[INFO] [stdout] test test_validate_warns_unused_pattern ... ok
[INFO] [stdout] test test_validate_surfaces_config_errors ... ok
[INFO] [stdout] test test_sync_remove_round_trip_cleans_shim_files ... ok
[INFO] [stdout] test test_sync_rejects_mode_path_at_parse_time ... ok
[INFO] [stdout] test test_sync_refuses_higher_manifest_version ... ok
[INFO] [stdout] test test_validate_malformed_ignore_pattern_errors ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_hook_test_payload_file stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_hook_test_payload_file' (597) panicked at tests/pipeline.rs:4776:5:
[INFO] [stdout] hook test with payload-file failed:
[INFO] [stdout] 
[INFO] [stdout] ── Provider Input (claude, pre_tool_use) ──
[INFO] [stdout] {"session_id":"file-sess","cwd":"/tmp","tool_name":"Bash","tool_input":{"command":"ls"}}
[INFO] [stdout] 
[INFO] [stdout] ── Canonical Input (what your script receives on stdin) ──
[INFO] [stdout] {
[INFO] [stdout]   "schema_version": "1.0.0",
[INFO] [stdout]   "provider": "claude",
[INFO] [stdout]   "session_id": "file-sess",
[INFO] [stdout]   "agent_id": null,
[INFO] [stdout]   "cwd": "/tmp",
[INFO] [stdout]   "transcript_path": null,
[INFO] [stdout]   "event": "pre_tool_use",
[INFO] [stdout]   "tool_name": "Bash",
[INFO] [stdout]   "tool_use_id": "",
[INFO] [stdout]   "tool_input": {
[INFO] [stdout]     "command": "ls"
[INFO] [stdout]   },
[INFO] [stdout]   "provider_raw": {
[INFO] [stdout]     "cwd": "/tmp",
[INFO] [stdout]     "session_id": "file-sess",
[INFO] [stdout]     "tool_input": {
[INFO] [stdout]       "command": "ls"
[INFO] [stdout]     },
[INFO] [stdout]     "tool_name": "Bash"
[INFO] [stdout]   }
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] ── Script Output ──
[INFO] [stdout] stdout: (empty)
[INFO] [stdout] stderr: agentspec [audit-bash]: jq is required for canonical hook translation but was not found on PATH. Install jq (e.g., `brew install jq`, `apt install jq`) and reload the hook host.
[INFO] [stdout] 
[INFO] [stdout] ── Exit Code: 1 ──
[INFO] [stdout] Error: hook exited with code 1
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs:10:14
[INFO] [stdout]    1: anyhow::__private::format_err
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/lib.rs:690:13
[INFO] [stdout]    2: agentspec::hook::run_hook_test
[INFO] [stdout]              at /opt/rustwide/workdir/src/hook.rs:112:9
[INFO] [stdout]    3: agentspec::main
[INFO] [stdout]              at /opt/rustwide/workdir/src/main.rs:216:17
[INFO] [stdout]    4: <fn() -> core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    5: std::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]    6: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>::{closure#0}
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/rt.rs:206:18
[INFO] [stdout]    7: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:287:21
[INFO] [stdout]    8: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]    9: std::panicking::catch_unwind::<i32, &dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   10: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   11: std::rt::lang_start_internal::{closure#0}
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/rt.rs:175:24
[INFO] [stdout]   12: std::panicking::catch_unwind::do_call::<std::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   13: std::panicking::catch_unwind::<isize, std::rt::lang_start_internal::{closure#0}>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   14: std::panic::catch_unwind::<std::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   15: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/rt.rs:171:5
[INFO] [stdout]   16: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/rt.rs:205:5
[INFO] [stdout]   17: main
[INFO] [stdout]   18: <unknown>
[INFO] [stdout]   19: __libc_start_main
[INFO] [stdout]   20: _start
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6262ddc9ada8 - std[929523f510218772]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6262ddc9ada8 - std[929523f510218772]::backtrace_rs::backtrace::trace_unsynchronized::<std[929523f510218772]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6262ddc9ada8 - std[929523f510218772]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6262ddc9ada8 - <<std[929523f510218772]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[28b146924c2f19c6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6262ddcafb4a - <core[28b146924c2f19c6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6262ddcafb4a - core[28b146924c2f19c6]::fmt::write
[INFO] [stdout]    6:     0x6262ddc9f8b2 - std[929523f510218772]::io::default_write_fmt::<alloc[95e62e727ddf147d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x6262ddc9f8b2 - <alloc[95e62e727ddf147d]::vec::Vec<u8> as std[929523f510218772]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x6262ddc775e6 - <std[929523f510218772]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6262ddc775e6 - std[929523f510218772]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6262ddc91ec9 - std[929523f510218772]::panicking::default_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6262ddc2106c - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x6262ddc2106c - test[6ec0502068880816]::test_main_inner::<test[6ec0502068880816]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x6262ddc92082 - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x6262ddc92082 - std[929523f510218772]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6262ddc776a2 - std[929523f510218772]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6262ddc6c5a9 - std[929523f510218772]::sys::backtrace::__rust_end_short_backtrace::<std[929523f510218772]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6262ddc7850d - __rustc[acf6043c977865fb]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6262ddcb030c - core[28b146924c2f19c6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6262ddb5f91c - pipeline[deeaba0f75ab258a]::test_hook_test_payload_file
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/pipeline.rs:4776:5
[INFO] [stdout]   20:     0x6262ddb599c7 - pipeline[deeaba0f75ab258a]::test_hook_test_payload_file::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/pipeline.rs:4750:33
[INFO] [stdout]   21:     0x6262ddbaf3e6 - <pipeline[deeaba0f75ab258a]::test_hook_test_payload_file::{closure#0} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x6262ddc1414b - <fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x6262ddc1414b - test[6ec0502068880816]::__rust_begin_short_backtrace::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x6262ddc219c5 - test[6ec0502068880816]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x6262ddc219c5 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x6262ddc219c5 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x6262ddc219c5 - std[929523f510218772]::panicking::catch_unwind::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x6262ddc219c5 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x6262ddc219c5 - test[6ec0502068880816]::run_test_in_process
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x6262ddc219c5 - test[6ec0502068880816]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x6262ddc1c524 - test[6ec0502068880816]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x6262ddc1c524 - std[929523f510218772]::sys::backtrace::__rust_begin_short_backtrace::<test[6ec0502068880816]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x6262ddc24a42 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x6262ddc24a42 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x6262ddc24a42 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x6262ddc24a42 - std[929523f510218772]::panicking::catch_unwind::<(), core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x6262ddc24a42 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x6262ddc24a42 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x6262ddc24a42 - <std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x6262ddc99f1f - <alloc[95e62e727ddf147d]::boxed::Box<dyn core[28b146924c2f19c6]::ops::function::FnOnce<(), Output = ()> + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   41:     0x6262ddc99f1f - <std[929523f510218772]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x73ca31e1aaa4 - <unknown>
[INFO] [stdout]   43:     0x73ca31ea7a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_hook_test_success_path stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_hook_test_success_path' (604) panicked at tests/pipeline.rs:4587:5:
[INFO] [stdout] hook test failed:
[INFO] [stdout] note: no payload provided; using built-in fixture for claude/pre_tool_use
[INFO] [stdout] 
[INFO] [stdout] ── Provider Input (claude, pre_tool_use) ──
[INFO] [stdout] {"agent_id":null,"cwd":"/tmp/.tmpzAgoIo/agent-config","session_id":"sess","tool_input":{"command":"ls"},"tool_name":"Bash","tool_use_id":"t1","transcript_path":"/t"}
[INFO] [stdout] 
[INFO] [stdout] ── Canonical Input (what your script receives on stdin) ──
[INFO] [stdout] {
[INFO] [stdout]   "schema_version": "1.0.0",
[INFO] [stdout]   "provider": "claude",
[INFO] [stdout]   "session_id": "sess",
[INFO] [stdout]   "agent_id": null,
[INFO] [stdout]   "cwd": "/tmp/.tmpzAgoIo/agent-config",
[INFO] [stdout]   "transcript_path": "/t",
[INFO] [stdout]   "event": "pre_tool_use",
[INFO] [stdout]   "tool_name": "Bash",
[INFO] [stdout]   "tool_use_id": "t1",
[INFO] [stdout]   "tool_input": {
[INFO] [stdout]     "command": "ls"
[INFO] [stdout]   },
[INFO] [stdout]   "provider_raw": {
[INFO] [stdout]     "agent_id": null,
[INFO] [stdout]     "cwd": "/tmp/.tmpzAgoIo/agent-config",
[INFO] [stdout]     "session_id": "sess",
[INFO] [stdout]     "tool_input": {
[INFO] [stdout]       "command": "ls"
[INFO] [stdout]     },
[INFO] [stdout]     "tool_name": "Bash",
[INFO] [stdout]     "tool_use_id": "t1",
[INFO] [stdout]     "transcript_path": "/t"
[INFO] [stdout]   }
[INFO] [stdout] }
[INFO] [stdout] Error: failed to write payload to shim stdin
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     Broken pipe (os error 32)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <std::io::error::Error as anyhow::context::ext::StdError>::ext_context::<&str>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs:10:14
[INFO] [stdout]    1: <core::result::Result<(), std::io::error::Error> as anyhow::Context<(), std::io::error::Error>>::context::<&str>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/context.rs:54:37
[INFO] [stdout]    2: agentspec::hook::run_hook_test
[INFO] [stdout]              at /opt/rustwide/workdir/src/hook.rs:77:14
[INFO] [stdout]    3: agentspec::main
[INFO] [stdout]              at /opt/rustwide/workdir/src/main.rs:216:17
[INFO] [stdout]    4: <fn() -> core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    5: std::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]    6: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>::{closure#0}
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/rt.rs:206:18
[INFO] [stdout]    7: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:287:21
[INFO] [stdout]    8: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]    9: std::panicking::catch_unwind::<i32, &dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   10: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   11: std::rt::lang_start_internal::{closure#0}
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/rt.rs:175:24
[INFO] [stdout]   12: std::panicking::catch_unwind::do_call::<std::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   13: std::panicking::catch_unwind::<isize, std::rt::lang_start_internal::{closure#0}>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   14: std::panic::catch_unwind::<std::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   15: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/rt.rs:171:5
[INFO] [stdout]   16: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/rt.rs:205:5
[INFO] [stdout]   17: main
[INFO] [stdout]   18: <unknown>
[INFO] [stdout]   19: __libc_start_main
[INFO] [stdout]   20: _start
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6262ddc9ada8 - std[929523f510218772]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6262ddc9ada8 - std[929523f510218772]::backtrace_rs::backtrace::trace_unsynchronized::<std[929523f510218772]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6262ddc9ada8 - std[929523f510218772]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6262ddc9ada8 - <<std[929523f510218772]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[28b146924c2f19c6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6262ddcafb4a - <core[28b146924c2f19c6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6262ddcafb4a - core[28b146924c2f19c6]::fmt::write
[INFO] [stdout]    6:     0x6262ddc9f8b2 - std[929523f510218772]::io::default_write_fmt::<alloc[95e62e727ddf147d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x6262ddc9f8b2 - <alloc[95e62e727ddf147d]::vec::Vec<u8> as std[929523f510218772]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x6262ddc775e6 - <std[929523f510218772]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6262ddc775e6 - std[929523f510218772]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6262ddc91ec9 - std[929523f510218772]::panicking::default_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6262ddc2106c - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x6262ddc2106c - test[6ec0502068880816]::test_main_inner::<test[6ec0502068880816]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x6262ddc92082 - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x6262ddc92082 - std[929523f510218772]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6262ddc776a2 - std[929523f510218772]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6262ddc6c5a9 - std[929523f510218772]::sys::backtrace::__rust_end_short_backtrace::<std[929523f510218772]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6262ddc7850d - __rustc[acf6043c977865fb]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6262ddcb030c - core[28b146924c2f19c6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6262ddb5fe02 - pipeline[deeaba0f75ab258a]::test_hook_test_success_path
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/pipeline.rs:4587:5
[INFO] [stdout]   20:     0x6262ddb599f7 - pipeline[deeaba0f75ab258a]::test_hook_test_success_path::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/pipeline.rs:4576:33
[INFO] [stdout]   21:     0x6262ddbaf426 - <pipeline[deeaba0f75ab258a]::test_hook_test_success_path::{closure#0} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x6262ddc1414b - <fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x6262ddc1414b - test[6ec0502068880816]::__rust_begin_short_backtrace::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x6262ddc219c5 - test[6ec0502068880816]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x6262ddc219c5 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x6262ddc219c5 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x6262ddc219c5 - std[929523f510218772]::panicking::catch_unwind::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x6262ddc219c5 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x6262ddc219c5 - test[6ec0502068880816]::run_test_in_process
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x6262ddc219c5 - test[6ec0502068880816]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x6262ddc1c524 - test[6ec0502068880816]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x6262ddc1c524 - std[929523f510218772]::sys::backtrace::__rust_begin_short_backtrace::<test[6ec0502068880816]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x6262ddc24a42 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x6262ddc24a42 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x6262ddc24a42 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x6262ddc24a42 - std[929523f510218772]::panicking::catch_unwind::<(), core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x6262ddc24a42 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x6262ddc24a42 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x6262ddc24a42 - <std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x6262ddc99f1f - <alloc[95e62e727ddf147d]::boxed::Box<dyn core[28b146924c2f19c6]::ops::function::FnOnce<(), Output = ()> + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   41:     0x6262ddc99f1f - <std[929523f510218772]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x73ca31e1aaa4 - <unknown>
[INFO] [stdout]   43:     0x73ca31ea7a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_hook_test_single_event_no_flag_uses_it stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_hook_test_single_event_no_flag_uses_it' (602) panicked at tests/pipeline.rs:4681:5:
[INFO] [stdout] single-event hook should auto-select: note: no payload provided; using built-in fixture for claude/pre_tool_use
[INFO] [stdout] 
[INFO] [stdout] ── Provider Input (claude, pre_tool_use) ──
[INFO] [stdout] {"agent_id":null,"cwd":"/tmp/.tmpCIAzrX/agent-config","session_id":"sess","tool_input":{"command":"ls"},"tool_name":"Bash","tool_use_id":"t1","transcript_path":"/t"}
[INFO] [stdout] 
[INFO] [stdout] ── Canonical Input (what your script receives on stdin) ──
[INFO] [stdout] {
[INFO] [stdout]   "schema_version": "1.0.0",
[INFO] [stdout]   "provider": "claude",
[INFO] [stdout]   "session_id": "sess",
[INFO] [stdout]   "agent_id": null,
[INFO] [stdout]   "cwd": "/tmp/.tmpCIAzrX/agent-config",
[INFO] [stdout]   "transcript_path": "/t",
[INFO] [stdout]   "event": "pre_tool_use",
[INFO] [stdout]   "tool_name": "Bash",
[INFO] [stdout]   "tool_use_id": "t1",
[INFO] [stdout]   "tool_input": {
[INFO] [stdout]     "command": "ls"
[INFO] [stdout]   },
[INFO] [stdout]   "provider_raw": {
[INFO] [stdout]     "agent_id": null,
[INFO] [stdout]     "cwd": "/tmp/.tmpCIAzrX/agent-config",
[INFO] [stdout]     "session_id": "sess",
[INFO] [stdout]     "tool_input": {
[INFO] [stdout]       "command": "ls"
[INFO] [stdout]     },
[INFO] [stdout]     "tool_name": "Bash",
[INFO] [stdout]     "tool_use_id": "t1",
[INFO] [stdout]     "transcript_path": "/t"
[INFO] [stdout]   }
[INFO] [stdout] }
[INFO] [stdout] Error: failed to write payload to shim stdin
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     Broken pipe (os error 32)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <std::io::error::Error as anyhow::context::ext::StdError>::ext_context::<&str>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs:10:14
[INFO] [stdout]    1: <core::result::Result<(), std::io::error::Error> as anyhow::Context<(), std::io::error::Error>>::context::<&str>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/context.rs:54:37
[INFO] [stdout]    2: agentspec::hook::run_hook_test
[INFO] [stdout]              at /opt/rustwide/workdir/src/hook.rs:77:14
[INFO] [stdout]    3: agentspec::main
[INFO] [stdout]              at /opt/rustwide/workdir/src/main.rs:216:17
[INFO] [stdout]    4: <fn() -> core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    5: std::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]    6: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>::{closure#0}
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/rt.rs:206:18
[INFO] [stdout]    7: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:287:21
[INFO] [stdout]    8: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]    9: std::panicking::catch_unwind::<i32, &dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   10: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   11: std::rt::lang_start_internal::{closure#0}
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/rt.rs:175:24
[INFO] [stdout]   12: std::panicking::catch_unwind::do_call::<std::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   13: std::panicking::catch_unwind::<isize, std::rt::lang_start_internal::{closure#0}>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   14: std::panic::catch_unwind::<std::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   15: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/rt.rs:171:5
[INFO] [stdout]   16: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/rt.rs:205:5
[INFO] [stdout]   17: main
[INFO] [stdout]   18: <unknown>
[INFO] [stdout]   19: __libc_start_main
[INFO] [stdout]   20: _start
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6262ddc9ada8 - std[929523f510218772]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6262ddc9ada8 - std[929523f510218772]::backtrace_rs::backtrace::trace_unsynchronized::<std[929523f510218772]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6262ddc9ada8 - std[929523f510218772]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6262ddc9ada8 - <<std[929523f510218772]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[28b146924c2f19c6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6262ddcafb4a - <core[28b146924c2f19c6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6262ddcafb4a - core[28b146924c2f19c6]::fmt::write
[INFO] [stdout]    6:     0x6262ddc9f8b2 - std[929523f510218772]::io::default_write_fmt::<alloc[95e62e727ddf147d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x6262ddc9f8b2 - <alloc[95e62e727ddf147d]::vec::Vec<u8> as std[929523f510218772]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x6262ddc775e6 - <std[929523f510218772]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6262ddc775e6 - std[929523f510218772]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6262ddc91ec9 - std[929523f510218772]::panicking::default_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6262ddc2106c - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x6262ddc2106c - test[6ec0502068880816]::test_main_inner::<test[6ec0502068880816]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x6262ddc92082 - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x6262ddc92082 - std[929523f510218772]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6262ddc776a2 - std[929523f510218772]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6262ddc6c5a9 - std[929523f510218772]::sys::backtrace::__rust_end_short_backtrace::<std[929523f510218772]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6262ddc7850d - __rustc[acf6043c977865fb]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6262ddcb030c - core[28b146924c2f19c6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6262ddb76bb6 - pipeline[deeaba0f75ab258a]::test_hook_test_single_event_no_flag_uses_it
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/pipeline.rs:4681:5
[INFO] [stdout]   20:     0x6262ddb5a207 - pipeline[deeaba0f75ab258a]::test_hook_test_single_event_no_flag_uses_it::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/pipeline.rs:4670:49
[INFO] [stdout]   21:     0x6262ddbafee6 - <pipeline[deeaba0f75ab258a]::test_hook_test_single_event_no_flag_uses_it::{closure#0} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x6262ddc1414b - <fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x6262ddc1414b - test[6ec0502068880816]::__rust_begin_short_backtrace::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x6262ddc219c5 - test[6ec0502068880816]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x6262ddc219c5 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x6262ddc219c5 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x6262ddc219c5 - std[929523f510218772]::panicking::catch_unwind::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x6262ddc219c5 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x6262ddc219c5 - test[6ec0502068880816]::run_test_in_process
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x6262ddc219c5 - test[6ec0502068880816]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x6262ddc1c524 - test[6ec0502068880816]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x6262ddc1c524 - std[929523f510218772]::sys::backtrace::__rust_begin_short_backtrace::<test[6ec0502068880816]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x6262ddc24a42 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x6262ddc24a42 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x6262ddc24a42 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x6262ddc24a42 - std[929523f510218772]::panicking::catch_unwind::<(), core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x6262ddc24a42 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x6262ddc24a42 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x6262ddc24a42 - <std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x6262ddc99f1f - <alloc[95e62e727ddf147d]::boxed::Box<dyn core[28b146924c2f19c6]::ops::function::FnOnce<(), Output = ()> + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   41:     0x6262ddc99f1f - <std[929523f510218772]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x73ca31e1aaa4 - <unknown>
[INFO] [stdout]   43:     0x73ca31ea7a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_hook_test_payload_inline stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_hook_test_payload_inline' (599) panicked at tests/pipeline.rs:4739:5:
[INFO] [stdout] hook test with payload failed:
[INFO] [stdout] 
[INFO] [stdout] ── Provider Input (claude, pre_tool_use) ──
[INFO] [stdout] {"session_id":"custom-sess","cwd":"/tmp","tool_name":"Bash","tool_input":{"command":"echo hello"}}
[INFO] [stdout] 
[INFO] [stdout] ── Canonical Input (what your script receives on stdin) ──
[INFO] [stdout] {
[INFO] [stdout]   "schema_version": "1.0.0",
[INFO] [stdout]   "provider": "claude",
[INFO] [stdout]   "session_id": "custom-sess",
[INFO] [stdout]   "agent_id": null,
[INFO] [stdout]   "cwd": "/tmp",
[INFO] [stdout]   "transcript_path": null,
[INFO] [stdout]   "event": "pre_tool_use",
[INFO] [stdout]   "tool_name": "Bash",
[INFO] [stdout]   "tool_use_id": "",
[INFO] [stdout]   "tool_input": {
[INFO] [stdout]     "command": "echo hello"
[INFO] [stdout]   },
[INFO] [stdout]   "provider_raw": {
[INFO] [stdout]     "cwd": "/tmp",
[INFO] [stdout]     "session_id": "custom-sess",
[INFO] [stdout]     "tool_input": {
[INFO] [stdout]       "command": "echo hello"
[INFO] [stdout]     },
[INFO] [stdout]     "tool_name": "Bash"
[INFO] [stdout]   }
[INFO] [stdout] }
[INFO] [stdout] Error: failed to write payload to shim stdin
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     Broken pipe (os error 32)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <std::io::error::Error as anyhow::context::ext::StdError>::ext_context::<&str>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs:10:14
[INFO] [stdout]    1: <core::result::Result<(), std::io::error::Error> as anyhow::Context<(), std::io::error::Error>>::context::<&str>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/context.rs:54:37
[INFO] [stdout]    2: agentspec::hook::run_hook_test
[INFO] [stdout]              at /opt/rustwide/workdir/src/hook.rs:77:14
[INFO] [stdout]    3: agentspec::main
[INFO] [stdout]              at /opt/rustwide/workdir/src/main.rs:216:17
[INFO] [stdout]    4: <fn() -> core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    5: std::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]    6: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>::{closure#0}
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/rt.rs:206:18
[INFO] [stdout]    7: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:287:21
[INFO] [stdout]    8: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]    9: std::panicking::catch_unwind::<i32, &dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   10: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   11: std::rt::lang_start_internal::{closure#0}
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/rt.rs:175:24
[INFO] [stdout]   12: std::panicking::catch_unwind::do_call::<std::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   13: std::panicking::catch_unwind::<isize, std::rt::lang_start_internal::{closure#0}>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   14: std::panic::catch_unwind::<std::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   15: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/rt.rs:171:5
[INFO] [stdout]   16: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>
[INFO] [stdout]              at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/rt.rs:205:5
[INFO] [stdout]   17: main
[INFO] [stdout]   18: <unknown>
[INFO] [stdout]   19: __libc_start_main
[INFO] [stdout]   20: _start
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6262ddc9ada8 - std[929523f510218772]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6262ddc9ada8 - std[929523f510218772]::backtrace_rs::backtrace::trace_unsynchronized::<std[929523f510218772]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6262ddc9ada8 - std[929523f510218772]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6262ddc9ada8 - <<std[929523f510218772]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[28b146924c2f19c6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6262ddcafb4a - <core[28b146924c2f19c6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6262ddcafb4a - core[28b146924c2f19c6]::fmt::write
[INFO] [stdout]    6:     0x6262ddc9f8b2 - std[929523f510218772]::io::default_write_fmt::<alloc[95e62e727ddf147d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x6262ddc9f8b2 - <alloc[95e62e727ddf147d]::vec::Vec<u8> as std[929523f510218772]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x6262ddc775e6 - <std[929523f510218772]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6262ddc775e6 - std[929523f510218772]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6262ddc91ec9 - std[929523f510218772]::panicking::default_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6262ddc2106c - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x6262ddc2106c - test[6ec0502068880816]::test_main_inner::<test[6ec0502068880816]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x6262ddc92082 - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x6262ddc92082 - std[929523f510218772]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6262ddc776a2 - std[929523f510218772]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6262ddc6c5a9 - std[929523f510218772]::sys::backtrace::__rust_end_short_backtrace::<std[929523f510218772]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6262ddc7850d - __rustc[acf6043c977865fb]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6262ddcb030c - core[28b146924c2f19c6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6262ddb604fd - pipeline[deeaba0f75ab258a]::test_hook_test_payload_inline
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/pipeline.rs:4739:5
[INFO] [stdout]   20:     0x6262ddb59a27 - pipeline[deeaba0f75ab258a]::test_hook_test_payload_inline::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/pipeline.rs:4719:35
[INFO] [stdout]   21:     0x6262ddbaf466 - <pipeline[deeaba0f75ab258a]::test_hook_test_payload_inline::{closure#0} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x6262ddc1414b - <fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x6262ddc1414b - test[6ec0502068880816]::__rust_begin_short_backtrace::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x6262ddc219c5 - test[6ec0502068880816]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x6262ddc219c5 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x6262ddc219c5 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x6262ddc219c5 - std[929523f510218772]::panicking::catch_unwind::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x6262ddc219c5 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x6262ddc219c5 - test[6ec0502068880816]::run_test_in_process
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x6262ddc219c5 - test[6ec0502068880816]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x6262ddc1c524 - test[6ec0502068880816]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x6262ddc1c524 - std[929523f510218772]::sys::backtrace::__rust_begin_short_backtrace::<test[6ec0502068880816]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x6262ddc24a42 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x6262ddc24a42 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x6262ddc24a42 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x6262ddc24a42 - std[929523f510218772]::panicking::catch_unwind::<(), core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x6262ddc24a42 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x6262ddc24a42 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x6262ddc24a42 - <std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x6262ddc99f1f - <alloc[95e62e727ddf147d]::boxed::Box<dyn core[28b146924c2f19c6]::ops::function::FnOnce<(), Output = ()> + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   41:     0x6262ddc99f1f - <std[929523f510218772]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x73ca31e1aaa4 - <unknown>
[INFO] [stdout]   43:     0x73ca31ea7a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_hook_test_payload_file
[INFO] [stdout]     test_hook_test_payload_inline
[INFO] [stdout]     test_hook_test_single_event_no_flag_uses_it
[INFO] [stdout]     test_hook_test_success_path
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 114 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.96s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test pipeline`
[INFO] running `Command { std: "docker" "inspect" "c697ec16e270a7d5400e7504e4a13354c897ffb3835622f707214f08548f6907", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c697ec16e270a7d5400e7504e4a13354c897ffb3835622f707214f08548f6907", kill_on_drop: false }`
[INFO] [stdout] c697ec16e270a7d5400e7504e4a13354c897ffb3835622f707214f08548f6907
